\chapter{Wprowadzenie}
\label{cha:wprowadzenie}

Pomysł na System Rozstrzygania Konkursów Internetowych zrodził się z 
narastającego popytu użytkowników internetu domagających się uczciwości w
przeprowadzanych konkursach. Kiedy ktoś tworzy internetowe wydarzenie, w którym jest nagroda do wygrania użytkownicy nie mają możliwości zweryfikowania, czy
konkurs odbył się zgodnie z zasadami fair-play.

Często takie konkursy mogą być fałszowane, a nagrody przekazywane
znajomym. Przykładowo takim wydarzeniem może być konkurs na Facebook'u
polegający na polubieniu wydarzenia i wybraniu z nich osób, które wezmą udział w
losowaniu. Twórcy takich wydarzeń udostępniają jedynie na
koniec wydarzenia listę zwycięzców.


 
%---------------------------------------------------------------------------

\section{Cele pracy}
\label{sec:celePracy}

Celem pracy jest stworzenie Systemu Rozstrzygania Konkursów Internetowych, czyli
aplikacji internetowej, która zapewni możliwość śledzenia danego losowania.
Gwarancją zasad fair-play jest obarczenie algorytmem losowania 
niezależnego serwisu internetowego.

Aplikacja składa się z serwisu www utrzymywanego na odseparowanym od
miejsca utworzenia wydarzenia serwerze. System również zawiera warstwę kliencką
GUI, zajmującą się utworzeniem konkursu na podstawie dostępnych źródeł danych:
Facebook oraz Twitter. 


\section{Dotychczasowe dostępne rozwiązania}

Przeprowadzony został rekonesans w zakresie dotychczasowych dostępnych rozwiązań
online. Znaleziono kilka dostępnych systemów:

\begin{itemize}
\item \url{http://www.strutta.com/}\cite{strutta}
\item \url{http://wpcontestcreator.com}/\cite{wpcontestcreator}
\item \url{http://heyo.com/}\cite {heyo}
\end{itemize}

Rozwiązania te są płatne oraz nie uwzględniają możliwości skorzystania z już
utworzonego wydarzenia, np. zbierając liczbę polubień.

%---------------------------------------------------------------------------

\section{Zawartość pracy}
\label{sec:zawartoscPracy}

W rodziale~\ref{cha:zrodlaDanych} przedstawiono rekonesans w zakresie dostępnych
źródeł danych do tworzenia konkursów: Facebook oraz Twitter.
Przedstawiono również możliwości SDK wyodrębnionego dla programistów
%formaty, tworzonych wydarzeń oraz sposoby parsowania udostępnianych danych
oraz wyjaśnione zostały także sposoby działania token'ów. \\\\
W rodziale~\ref{cha:algorytmy} przedstawione zostały możliwe algorytmy
przeprowadzania symulacji. Poruszony zostaje problem pseudolosowości w
komputerach oraz wachlarz dostępnych algorytmów wraz z~zagadnienieniami
optymalizacji.\\\\
W rodziale~\ref{cha:sposobyPrezentacji} przedstawione zostają możliwości
aplikacji klienckiej w zakresie wyświetlania animacji wydarzenia. Wyjaśniony
zostaje system komunikacji pomiędzy warstwą GUI a serwisem http.\\\\
W rodziale~\ref{cha:gui} przedstawiono możliwości warstwy
prezentacji - GUI. Zostaje wyjaśniona
interakcja z~zewnętrznymi api: Facebook
API oraz Twitter API poprzez Simple Sign
On\cite{sso}. Zostały wyodrębnione najciekawsze przypadki użycia serwisu z
warstwy prezentacji.\\\\
 W rodziale~\ref{cha:architektura} przedstawione zostają diagramy
 architektury serwisu, czyli podział na warstwy. Omówione zostają zalety i
 wady rozwiązań dotyczących komunikacji wraz z wykorzystanymi wzorcami oraz
 technologiami.
 Zostają również przedstawione problemy współczesnych aplikacji
 internetowych ze względu na bezpieczeństwo wraz 
 z możliwymi ataki oraz sposobami ochrony przed nimi. \\\\
  %W rodziale~\ref{cha:bezpieczenstwo} przedstawione zostają problemy
  %współczesnych aplikacji internetowych ze względu na bezpieczeństwo. Zostają
  %wyjaśnione możliwe ataki wraz ze sposobami ochrony przed nimi.\\\\ 
  %W rodziale~\ref{cha:uzyteTechnologie} przedstawiono technologie wykorzystane
  % w systemie. Omówione zostają plusy i minusy danych framework'ów i technik.\\\\ 


















